using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NCT.Framework;

namespace VISS.API.Users {

    /// <summary>
    /// This Entity is used only for Admin.
    /// It inherit from UserMessageEnt and has some extra data field from another tables.
    /// </summary>
    [Serializable]
    public class UserMessageAdminEnt : UserMessageEnt {

        #region Properties

        /// <summary>
        /// These field is only used for displaying extend data.
        /// </summary>
        /// <value>The name of the receiver.</value>
        public string ReceiverName { get; set; }
        /// <summary>
        /// These field is only used for displaying extend data.
        /// </summary>
        /// <value>The receiver gender.</value>
        public EUserGender ReceiverGender { get; set; }
        /// <summary>
        /// These field is only used for displaying extend data.
        /// </summary>
        /// <value>The name of the receiver avatar file.</value>
        public string ReceiverAvatarFileName { get; set; }
        /// <summary>
        /// These field is only used for displaying extend data.
        /// </summary>
        /// <value>The receiver avatar image store ID.</value>
        public int ReceiverAvatarImageStoreID { get; set; }
        /// <summary>
        /// These field is only used for displaying extend data.
        /// </summary>
        /// <value>The receiver avatar status.</value>
        public EUserAvatarStatus ReceiverAvatarStatus { get; set; }

        #endregion

        #region Constructors

        /// <summary>
        /// Initializes a new instance of the <see cref="UserMessageAdminEnt"/> class.
        /// </summary>
        public UserMessageAdminEnt()
            : base() {
            ReceiverName = string.Empty;
            ReceiverGender = EUserGender.Unknown;
            ReceiverAvatarFileName = string.Empty;
            ReceiverAvatarImageStoreID = 0;
            ReceiverAvatarStatus = EUserAvatarStatus.Available;
        }

        #endregion
    }
}